Openscad
Using openscad was rather easy because I feel like its less confusing to model an object through writing code instead of simply sketching... which is not a popular opinion.
The following details the procedure that I have followed into modelling a possible model for my final project. The code ended up to be a bit messy and could have been much shorter that what it currently is. I have used a manual on wikibooks on how to use the software.
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_LanguageI have faced some problems when using the difference command. An example of the problem faced is shown below, where the issue occurs when the two objects that are subtracted from each other start/end at the same point. The result is that the common start/end point will contain some residue from the original object. The solution to this issue was simple, all I did was to increase the size of the objects on the "minus" side of the difference by a small amount, which removes the residue.
Residue problem
![Openscad7](openscad/issue.png)
In the example shown above, the two objects have the same starting and end points, so residue was left on the bottom and the top. In order to remove the bottom residue, I translated the object on the minus side of the equation by -0.1 on the z axis. To remove the top residue, I increased the height of the object on the minus side of the equation by 0.2. The figure below shows the result.
![Openscad8](openscad/solution.png)
Possible final project design
I have designed the outer case of my final project, which is supposed to fit in a car's cup-holder. The design is parametric (but might require some minor tweaks later), and the scale is 1=1cm.
![Openscad1](openscad/1.png)
![Openscad2](openscad/2.png)
![Openscad3](openscad/3.png)
![Openscad4](openscad/4.png)
![Openscad5](openscad/5.png)
The final result
![Openscad6](openscad/6.png)
Code:
radius = 3.5;
radius2 = 3;
$fn=100;
difference(){
linear_extrude(height=5,twist=0) circle(radius,$fn=8);
translate([0,0,0.5])
linear_extrude(height=5,twist=0) circle(radius2);
}
translate([0,0,5])
difference(){
linear_extrude(height=5,twist=0,angle=20)
circle(radius);
translate([0,0,-0.5])
linear_extrude(height=6,twist=0)
circle(radius2);
}
translate([0,0,12])
difference(){
linear_extrude(height=2) circle(r=4);
translate([0,0,-0.1])
linear_extrude(height=1) circle(r=3.5);
translate([0,1.6,0.5])
linear_extrude(height=1.6) square([3.6,1.2],true);
translate([-0.9,-1.1,0.5])
linear_extrude(height=1.6) square([3,1.28],true);
translate([1.8,-1,0.9])
linear_extrude(height=1.6) circle(r=0.3);
translate([-1,2.55,1.99])
linear_extrude(height=0.6) text("Speed",size=0.5,$fn=100);
translate([-1.7,-0.3,1.99])
linear_extrude(height=0.6) text("Limit",size=0.5,$fn=100);
translate([1.4,-0.3,1.99])
linear_extrude(height=0.6) text("RA",size=0.5,$fn=100);
}
FreeCAD
In FreeCAD, I have designed almost the same model as the one in openscad, but without the cup.
![FreeCAD2](freecad/2.png)
The final result
![FreeCAD3](freecad/3.png)
Download the file
here.